package exception_learn;

/**
 * @author yuisama
 * @date 2022/09/25 10:00
 **/
public class FinallyTest {
    public static void main(String[] args) {
        try {
            // 多个catch代码块只会捕获一次异常，走一个分支！
            System.out.println(10 /0);
        }catch (ArithmeticException e) {
            System.err.println("算数运算异常");
            e.printStackTrace();
        }catch (NullPointerException e) {
            e.printStackTrace();
        }
        catch (Exception e) {
            System.out.println("父类Exception的代码块");
        }

        System.out.println("异常执行结束");
//        System.out.println("异常体系之前的代码块");
//        try {
//            System.out.println(10 / 0);
//        }catch (ArithmeticException e) {
//            System.err.println("不能除0!");
////            // 调用这个方法强制中断当前的JVM进程！
////            System.exit(0);
//            e.printStackTrace();
//        }finally {
//            System.out.println("finally代码块");
//        }
//        System.out.println("异常体系之后的代码块");
//        System.out.println(fun());
    }

//    public static int fun() {
//        try {
//            System.out.println(10 / 0);
//            return 1;
//        }catch (ArithmeticException e) {
//            return 3;
//        }
//        finally {
//            return 2;
//        }
//    }

}